You are viewing the community [info]ru_lua

Lua [entries|archive|friends|userinfo]
Lua

[ website | http://www.lua.org/ ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Сделать DLL [Mar. 15th, 2012|10:04 pm]

insanegigolo
Почитал я wiki и стало мне грустно, неужели нет более простого способа сделать на любимой lua dll'ку для win32?
Был ли у кого-нибудь опыт такого приключения?
link6 comments|post comment

С какой книги начать? [Sep. 12th, 2011|05:32 pm]
wadzimu
Programming in Lua или Beginning Lua Programming? Кстати, а на русский их не собраются переводить? Я бы купил с удовольствием.
link2 comments|post comment

Как на LUA загрузить выделенный текст в переменную? [Apr. 27th, 2011|08:31 pm]

mr_kim
Привет. Пишу сценарий для клавиатуры Logitech G11 на LUA .
При запуске сценария эмулируется несколько нажатий клавиши ТАВ, в результате чего поочередно выделяется несколько ссылок. Когда выделяется пятая по счету ссылка, нужно загрузить в переменную текст выделенной ссылки и узнать есть ли в нем определенное слово, например .html. Если слово найдено, нужно эмулировать нажатие клавиши «Ф1».
Как на LUA эмулировать нажатие клавиш, искать фрагмент текста в строке, задавать условия я разобрался.
Но ума не приложу, как на LUA загрузить выделенный текст в переменную.
Подскажите пожалуйста.
link9 comments|post comment

Eclipse [Apr. 14th, 2011|02:20 pm]

amddred
Здравствуйте, уважаемое сообщество!

Хочу спросить, какой плагин для "Клипсы" лучше: LuaEclipse или LunarEclipse?

Есть лучшие альтернативы?

Заранее спасибо )
linkpost comment

(no subject) [Feb. 22nd, 2011|01:00 am]

jamhed
блядский lua рассматривает nil в массиве как признак конца массива. это чего за пездец?

как прострелить себе ногу:


function func(fmt, ...)
print(string.format(fmt, unpack(arg)))
end

func("something %s %d", nil, 123)


казалось бы, lua позволяет использовать функции с произвольным количеством аргументов (обозначаемые ... и
именуемые далее как arg), однакося если один из этих переменных типа nil, то все пездец, остальных
тоже не будет. и как это называется?
link5 comments|post comment

Сравнение производительности bytecode VM для Lua. [Jan. 13th, 2011|01:51 am]

a_jelly
Написал вот здесь о сравнении производительности разных VM на примере Lua. Возможно кому-то будет полезно.
Если нужно - могу перепостить.
linkpost comment

Сводный псто. [Dec. 7th, 2010|11:30 am]

jamhed
В помощь выбирающему языг:

задан список файлов в командной строке, надо вывести последовательно
1-ю строку из 1-го файла
1-ю строку из 2-го файла
1-ю строку из 3-го файла
...
1-ю строку из N-го файла
2-ю строку из 1-го файла
2-ю строку из 2-го файла
2-ю строку из 3-го файла
...
2-ю строку из N-го файла

ну и так далее, причем количество строк в файлах разное

Haskell:
import System
import Data.List
main = getArgs >>= mapM readFile >>= mapM_ putStrLn . concat . transpose . map (lines)


Perl:
my @fs = map { open(my $fh, $_); $fh } @ARGV;
while( my @fh = grep { not eof($_) } @fs ) { print my $f = readline($_) foreach (@fh) };


Ruby:
fs = ARGV.map { |fn| File.open(fn) }
while fs.map(&:eof?).include? false
   fs.each { |f| puts f.gets unless f.eof? }
end


LISP
(let ((files (mapcar #'open *args*)))                                                
  (loop                                               
    (unless (mapcan (lambda (f &aux (x (read-line f nil)))
                         (when x
                            (format t "~A~%" x) (list x)))
                    files)
	   (return))))


C++
#include 
#include 
#include 
#include 
#include 
using namespace std;

int __cdecl main(int argc, char *argv[]) {
	vector files(argc-1);
	for (int i=1; i<argc; ++i)
		files[i-1].open(argv[i]);
	for (bool hasLine=true; hasLine;) {
		hasLine = false;
		for (size_t i=0; i<files.size(); ++i) {
			string line;
			if (getline(files[i], line)) {
				hasLine = true;
				cout << line << endl;
			}
		}
	}
	return 0;
}


Erlang
компиляция erlc a.erl
запуск: erl -noshell -s a start -- file file1 file2 file3 

-module(a).
-export([start/0]).

start() ->
  output([ FD || {ok, FD} <- [ file:open(X, read) || X <- init:get_plain_arguments() ]]),
  erlang:halt().

output([]) -> ok;
output(List) ->
output(lists:filter(
fun(FD) ->
case io:get_line(FD, "") of
Line when is_list(Line) ->
io:format(Line), true;
_ -> false
end
end,
List
)
).


C#
static void Main(string[] args) {
	for (var files = args.Select(a => new StreamReader(a)).ToList(); 0 < files.Select(f => f.ReadLine()).Where(line => line != null).Count(line => { Console.WriteLine(line); 				return true; }); );
}


Java
package example.io;

import static net.sourceforge.jfunctions.functions.FunctionToolkit.*;
import static net.sourceforge.jfunctions.io.IOToolkit.file;
import static net.sourceforge.jfunctions.structures.StructureToolkit.list;
import net.sourceforge.jfunctions.io.FileLineParser;

public class SortLinesExample {
	
	public static void main(String[] args) {
		for (String line : merge(transform(transform(list(args), file()), FileLineParser.ignoringErrors()))) {
			System.out.println(line);
		}
	}
	
}


Python
import sys  
from itertools import izip_longest as izip, chain, ifilter

def main(args):
    for str in ifilter(lambda x: x is not None,
                       chain.from_iterable( izip( *[open(a) for a in args)] ) ):
        print str.rstrip()

if __name__=='__main__':
    main(sys.argv[1:])   


OCaml
open ExtLib
open List
let (>>) f g x = g (f x)
let (|>) x f = f x;;

let fs = Array.to_list Sys.argv |> tl |> map (open_in >> Std.input_lines) in
while fold_left (fun go e -> Option.may print_endline (Enum.get e); go || not (Enum.is_empty e)) false fs do () done
link6 comments|post comment

UTF-8 в транслит [Nov. 24th, 2010|05:19 am]

jamhed
Возникла вот такая задача -- перевести строку из UTF-8 с русскими буковками в транслит.

Внезапно оказалось что код вида:
local str = "Блабла"
string.gsub(str, ".", function(s) print s end)
печатает не буковки, а 12 непонятных знаков, интерпретируя каждый символ UTF-8 как два байта, что по-идее глубоко неправильно. Системная локаль UTF-8, если что.

Типа решение перегнать при помощи iconv utf8->cp1251, а там уже табличкой -- работает, но что-то кривовато оно, на мой вкус. Может есть другие способы, прямее?
link8 comments|post comment

Требуется совет [Nov. 18th, 2010|08:43 pm]

donkaban
 Я достаточно много видел всякого кода динамического. Ну, просто я вроде как игроман, а в игрушках часто используются языки типа lua или python. И (ой, как это все нескромно) я стопроцентно уверен, что я знаю эти языки лучше, чем авторы этих скриптов. Без шуток. Я даже писал что-то по этому поводу близзардам, не уверен, что это дошло до разработчиков и в благодарностях меня вроде как не упоминали, но с очередным патчем баги пофиксили (как обычно наплодив новые). В случае с вархаммером - все было еще смешнее, я им подарил технологию в своих аддонах, которой они просто начали пользоваться, беззастенчиво :)
Все это к тому, что вот возникло желание сменить образ жизни. Есть вроде скил, вполне востребованный в игровой индустрии, да и вообще в разработке встраиваемых систем. Но в резюме у меня - вызывающий уважение послужной список, только ну совсем уж в другой области. 13 лет звукорежиссуры и проектирования систем звукоусиления :) Какой дурак будет читать такое резюме, если он ищет программиста?

Что делать то? Я бы с удовольствием написал бы для кого-нмибудь тестовое задание, маленький проектик для подтверждения скила, но пока непонятно, как вообще добиться приглашения к тестам :) Дайте совет, если есть мысли.
link7 comments|post comment

Тем временем [Nov. 6th, 2010|01:31 pm]

triampurum
Успешно закончен проект по добавлению Lua в базовую часть системы NetBSD как
а) языка для написания динамических расширений для ядра системы.
б) скриптового языка общего назначения в base.

http://blog.netbsd.org/tnf/entry/the_lua_scripting_language_in
http://mail-index.netbsd.org/tech-kern/2010/10/05/msg008900.html
linkpost comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]